package com.yuhang.demo.vo.pay;

import java.math.BigDecimal;
import java.util.List;

/**
 * 支付请求data
 */
public class RequestPayData {
    /**
     * 业务交易凭证
     **/
    private String tradeNo;
    /**
     * 平台用户id
     **/
    private Long userId;
    /**
     * 购商宝用户id
     **/
    private Long gsbId;
    /**
     * 操作用户名
     */
    private String username;

    /**
     * 业务交易金额(余额)
     **/
    private BigDecimal balanceAmount = BigDecimal.ZERO;
    /**
     * 业务交易金额(在线支付)
     **/
    private BigDecimal onlineAmount = BigDecimal.ZERO;
    /**
     * 手续费
     **/
    private BigDecimal charge = BigDecimal.ZERO;
    /**
     * 业务交易备注
     **/
    private String remark;
    /**
     * 业务回执url
     **/
    private String apiUrl;
    /**
     * 在线支付跳转地址
     **/
    private String returnUrl;
    /**
     * 支付类型
     **/
    private PayType payType;
    /**
     * 业务类型
     **/
    private TradeType tradeType;
    /**
     * 类型（pc支付，wap支付）:默认PC支付
     */
    private SelectType selectType = SelectType.PC;

    /**
     * 在线支付时subject
     */
    private String subject;
    /**
     * 在线支付时body
     */
    private String body;
    /**
     * 请求时间戳
     **/
    private String timestamp;
    /**
     * 余额支付密码
     **/
    private String payword;

    /**
     * 详细数据
     */
    private List<ReqDetailData> data;

    public String getTradeNo() {
        return tradeNo;
    }

    public void setTradeNo(String tradeNo) {
        this.tradeNo = tradeNo;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getGsbId() {
        return gsbId;
    }

    public void setGsbId(Long gsbId) {
        this.gsbId = gsbId;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public BigDecimal getBalanceAmount() {
        return balanceAmount;
    }

    public void setBalanceAmount(BigDecimal balanceAmount) {
        this.balanceAmount = balanceAmount;
    }

    public BigDecimal getOnlineAmount() {
        return onlineAmount;
    }

    public void setOnlineAmount(BigDecimal onlineAmount) {
        this.onlineAmount = onlineAmount;
    }

    public BigDecimal getCharge() {
        return charge;
    }

    public void setCharge(BigDecimal charge) {
        this.charge = charge;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getApiUrl() {
        return apiUrl;
    }

    public void setApiUrl(String apiUrl) {
        this.apiUrl = apiUrl;
    }

    public String getReturnUrl() {
        return returnUrl;
    }

    public void setReturnUrl(String returnUrl) {
        this.returnUrl = returnUrl;
    }

    public PayType getPayType() {
        return payType;
    }

    public void setPayType(PayType payType) {
        this.payType = payType;
    }

    public TradeType getTradeType() {
        return tradeType;
    }

    public void setTradeType(TradeType tradeType) {
        this.tradeType = tradeType;
    }

    public SelectType getSelectType() {
        return selectType;
    }

    public void setSelectType(SelectType selectType) {
        this.selectType = selectType;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public String getBody() {
        return body;
    }

    public void setBody(String body) {
        this.body = body;
    }

    public String getTimestamp() {
        return timestamp;
    }

    public void setTimestamp(String timestamp) {
        this.timestamp = timestamp;
    }

    public String getPayword() {
        return payword;
    }

    public void setPayword(String payword) {
        this.payword = payword;
    }

    public List<ReqDetailData> getData() {
        return data;
    }

    public void setData(List<ReqDetailData> data) {
        this.data = data;
    }
}
